/******************************************************************************
 *
 * @file       clickedbtn.h
 * @brief      自定义按钮
 *
 * @author     ario
 * @date       2024/08/08
 * @history
 *****************************************************************************/

#ifndef CLICKEDBTN_H
#define CLICKEDBTN_H

#include <QPushButton>
#include <QObject>

class ClickedBtn : public QPushButton
{
    Q_OBJECT
public:
    ClickedBtn(QWidget *parent = nullptr);
    ~ClickedBtn();

    void SetState(QString normal, QString hover, QString press);

protected:
    // 重写鼠标进入事件
    virtual void enterEvent(QEvent *event) override;
    // 重写鼠标移出事件
    virtual void leaveEvent(QEvent *event) override;
    // 重写鼠标按下事件
    virtual void mousePressEvent(QMouseEvent *event) override;
    // 重写鼠标释放事件
    virtual void mouseReleaseEvent(QMouseEvent *event) override;

private:
    QString _normal;            // 普通状态
    QString _hover;             // 悬浮状态
    QString _press;             // 选中状态
};

#endif // CLICKEDBTN_H
